import { IParam } from '../common';

/**
 * 项目设置接口
 *
 * @export
 * @interface IProjectSetting
 */
export interface IProjectSetting {
	// 网站灰色模式
	grayMode: boolean;
	// 色弱模式
	colorWeak: boolean;
	// 是否全屏内容
	fullContent: boolean;
	// 内容模式 流式 | 定宽
	contentMode: 'FULL' | 'FIXED';
	// 是否显示Logo
	showLogo: boolean;
	// 是否显示页脚
	showFooter: boolean;
	// 边框圆角
	borderRadius: number;
	// 应用请求方式(原get请求)
	appRequestMode: 'get' | 'post';
	// 头部设置
	headerSetting: {
		// 头部背景色
		bgColor: string;
		// 是否显示头部
		show: boolean;
		// 头部主题
		theme: 'LIGHT' | 'DARK';
		// 是否显示锁屏
		showLockScreen: boolean;
		// 是否显示全屏
		showFullScreen: boolean;
		// 是否显示通知
		showNotice: boolean;
		// 是否显示用户信息
		showUserInfo: boolean;
		// 是否显示多语言
		showLang: boolean;
		// 是否显示组织选择
		showOrgSelect: boolean;
		// 是否显示主题设置
		showThemeSetting: boolean;
	};
	// 菜单配置
	menuSetting: {
		// 菜单背景颜色
		bgColor: string;
		// 左侧菜单是否为折叠状态
		collapsed: boolean;
		// 左侧菜单是否可以拖动，鼠标在菜单右侧有一个拖拽栏
		canDrag: boolean;
		// 是否显示
		show: boolean;
		// 菜单宽度
		menuWidth: number;
		// 主菜单位置 左侧 | 顶部
		mainMenuPosition: 'LEFT' | 'TOP';
		// 菜单主题
		theme: 'LIGHT' | 'DARK';
		// 顶部菜单的对齐方式
		topMenuAlign: 'LEFT' | 'CENTER' | 'RIGHT';
		// 左侧菜单手风琴模式，只展开同一父级的菜单项
		accordion: boolean;
		// 折叠触发器位置
		collapsedTriggerPosition: 'NONE' | 'HEADER' | 'FOOTER';
		// 菜单权限模式，可选值：RT(RT模式),RESOURCE(资源模式)默认RESOURCE
		menuPermissionMode: 'RESOURCE' | 'RT';
	};
	// 多标签分页设置
	multiTabsSetting: {
		// 是否显示
		show: boolean;
		// 是否显示更多
		showMore: boolean;
		// 是否显示关闭所有
		showCloseAll: boolean;
		// 是否显示关闭其他
		showCloseOther: boolean;
	};
	// 动画设置
	transitionSetting: {
		//是否打开切换页面动画
		enable: boolean;
		//基本切换动画
		basicTransition:
			| 'zoom-fade'
			| 'fade'
			| 'zoom-out'
			| 'fade-slide'
			| 'fade-bottom'
			| 'fade-scale';
		//是否打开页面切换加载
		openPageLoading: boolean;
		//是否打开顶部进度条
		openNProgress: boolean;
	};
	// 是否显示面包屑
	showBreadCrumb: boolean;
	// 是否启用远端模式
	enableRemoteMode: boolean;
	// 服务路径映射（service -> url）
	serviceUrlMap: IParam;
	// 业务服务路径
	businessServiceUrl: string;
	// 导出文件基础路径
	exportFileUrl: string;
	//  上传文件基础路径
	uploadFileUrl: string;
	// 是否开启SaaS模式
	saasMode: boolean;
	//  是否启用应用权限
	enableAppPermission: boolean;
	//  DC系统标识
	dcSystemId: string;
	//  数据导入单次上传最大数量
	sliceUploadCnt: number;
	//  是否是移动端应用
	isApp: boolean;
	// 路由模式
	routeMode: 'HASH' | 'HISTORY';
	// 资源基础路径（约束路由基础路径及静态资源路径）
	resourceBaseUrl: string;
	// 启用全局搜索
	enableAppSearch: boolean;
	// 缓存
	cache: boolean;
}
